package com.xd.core.api.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.Page;
import com.xd.core.api.entity.RepaymentOrderInfo;
import com.xd.core.bill.dto.OfflineRepaymentDetailQuery;
import com.xd.core.bill.vo.OfflineRepaymentDetailVo;
import com.xd.core.company.dto.HomeQueryDto;
import com.xd.core.company.vo.ReceiveCounts;
import com.xd.core.finance.dto.RepayManageDto;
import com.xd.core.finance.vo.RepayManageVo;

/**
 * <p>
 * 还款订单信息 服务类
 * </p>
 *
 * @author ZX
 * @since 2025-03-11
 */
public interface IRepaymentOrderInfoService extends IService<RepaymentOrderInfo> {

    ReceiveCounts getReceiveCounts(HomeQueryDto query);

    /**
     * @description: 债权方账户-回款记录(平台资方共用)
     * @author: ZCH
     * @date: 2025/3/26 0026 21:02
     * @param: [dto]
     * @return: com.github.pagehelper.Page<com.xd.core.finance.vo.RepayManageVo>
     **/
    Page<RepayManageVo> getRepayManage(RepayManageDto dto);

    /**
     * @description: 债权方账户回款记录导出
     * @author: ZCH
     * @date: 2025/3/25 0025 10:08
     * @param: [dto, id]
     * @return: void
     **/
    void exportRepayManage(RepayManageDto dto, Integer id);

    /**
     * @description: 线下还款数据回显
     * @author: ZCH
     * @date: 2025/5/12 0012 16:51
     * @param: [OfflineRepaymentDetail]
     * @return: com.xd.core.bill.vo.OfflineRepaymentDetailVo
     **/
    OfflineRepaymentDetailVo getOfflineRepaymentDetail(OfflineRepaymentDetailQuery query);
}
